Initializes a new
WindowLevelCommand class object with explicit parameters.
Syntax
Parameters
- lowBit
- Value indicating the low bit used for leveling. 0 <= lowBit <= highBit <= (11 for 12-bit grayscale or 15 for 16-bit grayscale).
- highBit
- Value indicating the high bit used for leveling. 0 <= lowBit <= highBit <= (11 for 12-bit grayscale or 15 for 16-bit grayscale).
- lookupTable
- Optional 8-bit lookup table that can be used to implement a user defined conversion. For every intensity value between 0 and 2 raised to the power of (highBit - lowBit + 1) - 1 there should be a corresponding entry in the lookup table that contains an RGB quad. If lookupTable is null, the conversion is a normal shift (right or left) and the output image is 8-bit grayscale. If lookupTable is not null, the output image is a 24-bit image.
- order
- Value indicating the color order if the output image will be 24-bit. If LookupTable is null, this parameter is ignored.
Example
Run the WindowLevelCommand on an image.
Visual Basic | Copy Code |
---|
Public Sub WindowLevelConstructorExample()
RasterCodecs.Startup()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Master.jpg")
Dim graycommand As GrayscaleCommand = New GrayscaleCommand(16)
graycommand.Run(leadImage)
Dim MinMaxBits As MinMaxBitsCommand = New MinMaxBitsCommand
MinMaxBits.Run(leadImage)
Dim MinMaxValues As MinMaxValuesCommand = New MinMaxValuesCommand
MinMaxValues.Run(leadImage)
Dim Size As Integer = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1))
Dim LookupTable() As RasterColor
ReDim LookupTable(Size - 1)
Dim x As Integer
For x = 0 To (Size \ 2 - 1)
LookupTable(x) = New RasterColor(255, 0, 0)
Next
For x = Size \ 2 To Size - 1
Dim y As Byte = CType((x) * 255 / (Size), Byte)
LookupTable(x) = New RasterColor(y, y, y)
Next
Dim command As WindowLevelCommand = New WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr)
command.Run(leadImage)
RasterCodecs.Shutdown()
End Sub |
C# | Copy Code |
---|
public void WindowLevelConstructorExample() { // Load an image RasterCodecs.Startup(); RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(LeadtoolsExamples.Common.ImagesPath.Path + "Master.jpg"); // Prepare the command //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); graycommand.Run(image); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxBits.Run(image); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); MinMaxValues.Run(image); int Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); RasterColor [] LookupTable = new RasterColor[Size]; // fill the first half of the LookupTable with RED. for(int x = 0; x < Size / 2; x++) LookupTable[x] = new RasterColor(255, 0, 0); // fill the rest with gray values. for(int x = Size / 2; x < Size; x++) { byte y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new RasterColor(y, y, y); } WindowLevelCommand command = new WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr); command.Run(image); RasterCodecs.Shutdown(); } |
Requirements
Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also